package com.upcode.weighing.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.apache.commons.lang3.StringUtils;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 一站式服务网点
 * </p>
 *
 * @author chenyan
 * @since 2020-08-20
 */
@Data
@EqualsAndHashCode(callSuper=false)
@Accessors(chain = true)
@TableName("one_stop_servicehall")
public class OneStopServicehall implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @JsonSerialize(using= ToStringSerializer.class)
    private Long id;

    /**
     * 网点类型 (来源数据字典)
     */
    private String servicehallType;

    /**
     * 所属银行(网点类型为银行时有值)
     */
    private String bankId;

    /**
     * 服务网点编号
     */
    private String servicehallId;

    /**
     * 服务网点名称
     */
    private String servicehallName;

    /**
     * 联系电话
     */
    private String servicehallTel;

    /**
     * 服务项目 (来源数据字典)
     */
    private String serviceItems;

    /**
     * 营业时间
     */
    private String businessHours;

    /**
     * 行政区划代码(6位数字，参考GBT2260)
     */
    private String districtId;

    /**
     * 经度
     */
    private String lng;

    /**
     * 维度
     */
    private String lat;

    /**
     * 网点地址
     */
    private String address;

    /**
     * 网点图片
     */
    private String images;

    /**
     * 网点状态 1-启用 2-停用
     */
    private Integer status;

    /**
     * 入库时间
     */
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime inTime;

    /**
     * 更新时间
     */
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime upTime;


    public String checkParams(int type){
        if(type == 2){
            if(null == id){
                return "id不可为空";
            }
        }
        if(StringUtils.isBlank(servicehallType)){
            return "请选择网点类型";
        }
        if(StringUtils.equals(servicehallType,"01") && StringUtils.isBlank(bankId)){
            return "请选择所属银行";
        }
        if(StringUtils.isBlank(servicehallId)){
            return "请输入服务网点编号";
        }
        if(StringUtils.isBlank(servicehallName)){
            return "请输入服务网点名称";
        }
        if(StringUtils.isBlank(servicehallTel)){
            return "请输入联系电话";
        }

        /*if(!Pattern.matches(Constants.REGEX_PHONE_NUMBER, servicehallTel) || !Pattern.matches(Constants.LANDLINE_PHONE_NUMBER, servicehallTel)){
            return "请输入有效的联系电话";
        }*/

        if(StringUtils.isBlank(serviceItems)){
            return "请选择服务项目";
        }

        if(StringUtils.isBlank(businessHours)){
            return "请如数营业时间";
        }

        if(StringUtils.isBlank(address)){
            return "请选择网点地址";
        }

        if(StringUtils.isBlank(districtId)){
            return "未匹配到行政区域编码";
        }

        if(StringUtils.isBlank(lng)){
            return "未匹配到最表经度";
        }

        if(StringUtils.isBlank(lat)){
            return "未匹配到坐标维度";
        }
        return null;
    }

}
